﻿namespace ChessBot
{
    class ChessBot
    {
        /// <summary>
        /// Initializes the ChessBot
        /// </summary>
        public ChessBot(Colour colour);

        /// <summary>
        /// Called when a move is required.
        /// Always called after StartThinking
        /// Must only return a move. 
        /// No calculations about what move should be done allowed here.
        /// </summary>
        /// <returns>The Bot's move given its current knowledge of the board</returns>
        public ChessMove StopThinking();

        /// <summary>
        /// Begins calculating the best move given a certain board.
        /// </summary>
        /// <param name="board">The state of the chessboard.</param>
        public void StartThinking(ChessBoard board);
    }
}
